package cn.topcodes.tcsf.admin.service.licence;

import org.springframework.transaction.annotation.Transactional;

import java.util.Map;

/**
 * Created by Unicorn on 2017/9/28.
 */
public interface LicenceService {

    void load();

    @Transactional(readOnly = false)
    void remoteRegister() throws LicenceException;

    @Transactional(readOnly = false)
    void register(String code) throws LicenceException;

    void loadRegisterCode(String code) throws LicenceException;

    @Transactional(readOnly = false)
    void validate() throws LicenceException;

    boolean isShowTrial();

    Map<String,Boolean> getFunctions();

    String getMatchineCode();

    MachineInfo getMachineInfo();

    Licence getLicence();

    String getRegisterCode();
}
